Mathematics of Networks module (MA21004)

Study graph theory, network algorithms, Python visualisation, shortest paths, graph colouring, and real-world network applications

Credits
20
Module code
MA21004
Level
2
Semester
Semester 1
Faculty
Faculty of Science, Engineering, and Business
Discipline
Mathematics

Networks are everywhere: in road systems, social media, computer networks, biological systems, pipelines, and the internet. In this module, you will learn how mathematics can be used to understand connections, routes, structure, and flow in complex systems.

You will be introduced to graph theory, the mathematics of points and connections. You will learn how to represent road maps, social connections, computer systems, and biological structures using vertices, edges, paths, trees, and connected graphs, revealing hidden patterns in how complex systems are organised.

You will explore important network problems such as finding shortest paths, testing whether routes are possible, analysing trees, colouring graphs, scheduling tasks, and calculating maximum flow through a network. These ideas help answer practical questions: how do navigation apps find efficient routes, how can resources be scheduled, and how can information, traffic, or materials move through a system?

You will also develop algorithmic thinking by studying methods such as Dijkstra’s algorithm, Kruskal’s algorithm, greedy colouring, and the Ford–Fulkerson algorithm. Alongside the mathematics, you will use Python to explore and visualise these systems, helping you connect mathematical ideas with modern computational tools.

By developing your ability to model systems, analyse structure, and use algorithms, this module builds valuable skills for later study in mathematics, data science, operational research, and careers involving complex systems and decision-making.

What you will learn

In this module, you will:

  • study the basic language of graphs and networks
  • model real-world systems such as road, social, computer, biological, and pipeline networks
  • explore connectedness, trees, Eulerian and Hamiltonian problems, and graph colouring
  • investigate shortest paths, scheduling, spanning trees, and maximum flow
  • study key algorithms, including Dijkstra’s, Kruskal’s, greedy colouring, and Ford–Fulkerson
  • use Python to explore and visualise networks.

By the end of this module, you will be able to:

  • represent real-world problems using graph structures
  • analyse networks to identify routes, connections, trees, and key features
  • apply algorithms to solve network problems
  • interpret network results in practical contexts
  • use Python to support network visualisation and analysis
  • explain graph-theoretic reasoning clearly using diagrams and mathematical language

Assignments / assessments

  • Coursework (40%)
  • Written exam (60%)

Teaching methods / timetable

  • lectures introducing key ideas in graph theory, networks, and algorithms
  • tutorials where you apply methods to network problems individually and in groups
  • worked examples and problem-solving focused on shortest paths, graph colouring, trees, and network flow
  • modelling and visualisation tasks using diagrams and, where appropriate, Python
  • online resources through My Dundee to support independent study

Courses

This module is available on the following courses:

Module lead